<template>
  <div><upload :on-success="onSuccess" /></div>
</template>

<script>
import { importemployeeList } from '@/api/employees'
export default {
  methods: {
    // 上传文件时的处理
    async onSuccess(data) {
    //   console.log(data)
    // 对获取的数据进行处理，与参数要求一致
      const dict = {
        '入职日期': 'timeOfEntry',
        '手机号': 'mobile',
        '姓名': 'username',
        '转正日期': 'correctionTime',
        '工号': 'workNumber',
        '部门': 'department'
      }
      const newArray = data.results.map(item => {
        const newObj = {}
        for (const key in item) {
          const newKey = dict[key]
          let value = null
          // 对日期进行处理
          if (newKey === 'timeOfEntry') {
            // 调用函数转换成字符串
            const str = formatExcelTime(item[key], '-')
            // 将日期字符串转换成日期对象
            value = new Date(str)
          } else if (newKey === 'correctionTime') {
            const str = formatExcelTime(item[key], '-')
            // 将日期字符串转换成日期对象
            value = new Date(str)
          } else {
            value = item[key]
          }
          newObj[newKey] = value
        }
        return newObj
      })
      console.log(newArray)
      // 对excel时间进行处理
      // excel读取2018/01/01这种时间格式是会将它装换成数字类似于46254.1545151415 numb是传过来的整数数字，format是之间间隔的符号
      // 将5位数字转换成格式化字符串
      function formatExcelTime(num, format = '-') {
        num = Number(num)	// 强制类型转化，以防传来的值是字符串
        let millisecond = 0	// 转化后的毫秒数
        if (num > 60) {
          millisecond = (num - 25569) * 60 * 60 * 24 * 1000
        } else {
          millisecond = (num - 25568) * 60 * 60 * 24 * 1000
        }
        const date = new Date(millisecond)	// 根据转化后的毫秒数获取对应的时间
        const yy = date.getFullYear()
        const mm = date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1
        const dd = date.getDate() < 10 ? '0' + date.getDate() : date.getDate()
        return yy + format + mm + format + dd	// 返回格式化后的日期
      }
      // 发请求
      await importemployeeList(newArray)
      // 提示用户成功
      this.$message.success('批量导入成功')
      // 回退到导入页面
      this.$router.back()
    }

  }

}
</script>
<style>

</style>
